package com.dkm.orproject.dkmoa.service;

import com.dkm.orproject.dkmoa.domain.OaRegimeType;
import com.dkm.orproject.utils.utils.ThreeVo;

import java.util.List;


/**
 *    规则制度类型的service层
 *  @ClassName : OaRegimeTypeService层  //类名
 *  @Description : OaRegimeAction的service层 //描述
 *  @Author : zmh //作者
 *  @Date: 2020-11-12 09:28  //时间
 */
public interface OaRegimeTypeService {

    /**
     * 根据pkRegimeId删除该条规章制度类型对象
     * @param pkRegimeTypeId
     * @return 删除的条数
     */
    int deleteByPrimaryKey(Long pkRegimeTypeId);

    /**
     * 插入一条规章制度类型
     * @param oaRegimeType 规章制度类型对象
     * @param personnelName
     * @return 回调函数
     */
    int insertSelective(OaRegimeType oaRegimeType, String personnelName);

    /**
     * 根据pkRegimeTypeId查询规章制度类型对象
     * @param pkRegimeTypeId
     * @return 规章制度类型对象
     */
    OaRegimeType selectByPrimaryKey(Long pkRegimeTypeId);

    /**
     * 根据oaRegimeType的id值修改
     * @param oaRegimeType
     * @param personnelName
     * @return 回调函数
     */
    int updateByPrimaryKeySelective(OaRegimeType oaRegimeType, String personnelName);

    /**
     * 规则制度类型总条数
     * @param oaRegimeType 规则制度类型对象
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 回调函数
     */
    Long rowCount(OaRegimeType oaRegimeType,String startTime,String endTime);


    /**
     * 分页查询所有规则制度类型信息
     * @param oaRegimeType
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param page 当前页数
     * @param limit 显示的行数
     * @return 所有规则制度类型对象的集合
     */
    List<OaRegimeType> selectAll(OaRegimeType oaRegimeType , String startTime, String endTime, Integer page, Integer limit);

    /**
     * 规则制度类型批量删除
     * @param list list里存入id的集合
     * @return 回调函数
     */
    int deleteAll(List<Long> list);

    /**
     *
     * @param oaRegimeTypeId
     * @param show
     * @return
     */
    List<ThreeVo> loadOaRegimeType(Long oaRegimeTypeId,String show);
}
